//package com.surekam.hometown.rest.ws;
//
//import java.io.File;
//import java.io.IOException;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.Enumeration;
//import java.util.List;
//
//import javax.servlet.ServletContext;
//import javax.servlet.http.HttpServletRequest;
//import javax.ws.rs.Consumes;
//import javax.ws.rs.Encoded;
//import javax.ws.rs.GET;
//import javax.ws.rs.POST;
//import javax.ws.rs.Path;
//import javax.ws.rs.PathParam;
//import javax.ws.rs.Produces;
//import javax.ws.rs.core.Context;
//import javax.ws.rs.core.MediaType;
//
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.stereotype.Component;
//
//import com.surekam.hometown.model.Picture;
//import com.surekam.hometown.rest.WsConstants;
//import com.surekam.hometown.rest.dto.FileItems;
//import com.surekam.hometown.util.MutiFileUpload;
//
//@Component
//@Path("file")
//public class FileUploadResource {
//
//	private static Logger logger = LoggerFactory.getLogger(FileUploadResource.class.getName());
//
//	private final static String SEPARATOR = File.separator;
//	
//	private String fileRoot = "F:\\ComsenzEXP\\wwwroot\\data\\attachment\\forum";
//
//	@POST
//	@Path("upload/{taskId}")
//	@Produces(MediaType.TEXT_PLAIN)
//	@Consumes(MediaType.MULTIPART_FORM_DATA)
//	@Encoded
//	public String uploadFile(@Context HttpServletRequest request, @Context ServletContext context,
//			@PathParam("taskId") String taskId) {
//
//		System.out.println("upload file: task id is:" + taskId);
//
//		long start = System.currentTimeMillis();
//
//		logger.info("-任务：" + taskId + "-Upload File Begin....");
//
//		String resultStatus = WsConstants.FAILURE;
//
//		// 获得根目录的物理路径
////		String path = context.getRealPath("/");
////		String saveDirectory = path + SEPARATOR + "upload" + SEPARATOR + getDate(System.currentTimeMillis())
////				+ SEPARATOR;
//		String path = fileRoot;
//		String saveDirectory = path + SEPARATOR + "upload" + SEPARATOR + getDate(System.currentTimeMillis())
//				+ SEPARATOR;
//		File saveDirectoryFile = new File(saveDirectory);
//		if (!saveDirectoryFile.exists()) {
//			saveDirectoryFile.mkdirs();
//		}
//
//		// 每个文件最大5m,最多3个文件,所以...
//		// int maxPostSize = 3 * 50 * 1024 * 1024;
//		int maxPostSize = Integer.MAX_VALUE;
//		MutiFileUpload multi = null;
//		try {
//			multi = new MutiFileUpload(request, saveDirectory, maxPostSize, WsConstants.CHARSET);
//		} catch (IOException e) {
//			logger.error("File Upload Failuer!!", e);
//			return resultStatus;
//		}
//
//		// 对文件的描述，根据文件的顺序：第一个描述对第一个文件的描述
//
//		try {
//			String[] desc = multi.getParameterValues("desc");
//			Enumeration<String> files = multi.getFileNames();
//			Picture picture;
//			int fileNum = 0;
//			while (files.hasMoreElements()) {
//				String name = (String) files.nextElement();
//				File f = multi.getFile(name);
//				if (f != null) {
//					String fileName = multi.getFilesystemName(name);
//
//					picture = new Picture();
//					picture.setTaskId(Long.valueOf(taskId));
//					picture.setFileDesc(desc[fileNum]);
//					picture.setFilePath("/upload" + "/" + saveDirectory + "/" + fileName);
//					picture.setUploadTime(new Date());
//
//					fileNum++;
//					logger.info("上传的文件:" + fileName);
//				}
//			}
//			// surveyService.uploadFile(taskId,saveDirectory,fileNum);
//		} catch (Exception e) {
//			return WsConstants.FAILURE;
//		}
//
//		logger.info("File Upload Success!   Use Time:" + (System.currentTimeMillis() - start));
//		return WsConstants.SUCCESS;
//	}
//
//	@GET
//	@Path("filelist")
//	@Produces(MediaType.APPLICATION_JSON + WsConstants.WEB_CHARSET)
//	public FileItems fileList() {
//		logger.info("获取文件列表");
//		FileItems items = new FileItems();
//
//		items.setId(1);
//		items.setUploadDate(new Date());
//		items.setUserId("0001001");
//		List<String> list = new ArrayList<String>();
//		File file = new File("");
//		String[] files = file.list();
//		System.out.println(files.length);
//		for (int i = 0; i < files.length; i++) {
//			list.add(files[i]);
//		}
//		items.setList(list);
//		return items;
//	}
//
//	private String getDate(long date) {
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
//		String format = sdf.format(new Date(date));
//		StringBuffer sb = new StringBuffer(format.substring(0, format.length() - 2))
//				.append(FileUploadResource.SEPARATOR);
//		sb.append(format.substring(format.length() - 2, format.length()));
//		return sb.toString();
//	}
//
//	public static void main(String[] args) {
//		FileUploadResource fur = new FileUploadResource();
//		String date = fur.getDate(System.currentTimeMillis());
//		System.out.println(date);
//	}
//}